1. Field of the Invention
This invention relates to telecommunications exchanges and, more particularly, to a system for providing features within a telecommunications exchange.
2. History of the Related Art
A portion of the disclosure of this patent document contains material to which a claim of copyright protection is made. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but reserves all other rights whatsoever.
State tables have been used in prior art systems to control the operation of a real-time process by designating a set of tasks to be performed in order to effect a transition from one state to the other. Computer languages have been developed wherein transitions from state to state are caused by the execution of a specific set of instructions imbedded within the computer code itself. These systems have proved cumbersome because as modifications to the system are required, the computer program must be recompiled along with the new lines of code necessary to achieve the desired changes and then downloaded to the switch.
State control techniques have been advantageously implemented in telecommunications exchanges due to the nature of the two party model for most communications. With such techniques, each party is sequentially transitioned from state to state to implement the various features of the desired communication. Those transitions are conveniently performed in groups of tasks associated with either a particular special feature or simply those associated with Plain Old Telephone (POT) services. The provision of different features, such as three-way calling, has been a growing and important element in the sale of telecommunications services and the rapid implementation and modification of such features is vital to serving the modern telecommunications customer.
However, different customers may want different behavior for a given feature. Thus, flexibility in modifying features is important as customers change. Further, residential and business subscribers which are likely to have different needs are also likely to be utilizing the same switch. With a feature implemented in fixed, compiled code it is expensive to provide for the many variations in the feature which will be required for the various particular customer applications. The code becomes large and complicated if multiple variants of a feature are placed in one block in fixed code. If a separate block is provided for each variant then the sum of the code size for all the variants together becomes very large and the overhead and memory costs are repeated for each block. Fixed code also fails to adequately provide for unforeseen future needs since the only way to provide new behavior in a feature implemented in fixed code is to recompile and re-install the program.
One prior art system disclosed in U.S. Pat. No. 4,727,575 to Hansen, et al. includes a software mechanism which provides that specified actions to transition from state to state were performed irrespective of the circumstances under which the event causing the state transition occurred. The state changes are achieved independent of the overall program and allow for new features to be added even though the programmer did not have knowledge of the original code and its interaction with the new code. The Hansen patent, however, requires an individual computer associated with each customer unit in order to execute the program along with the addition of new lines of code for modification as new features and customers are added and changed.
Rapid expansion and rapid changes in the telecommunications field requires rapid development of new features for telephone subscribers. Because the sale of new features and enhancements provide an ever increasing portion of the switched telephone business it is important to satisfy the needs of customers in a timely manner. Design methods currently in use with programs which utilize fixed code require a period of approximately one and a half years from initial demand to ultimate delivery. All known prior attempts to solve the above specified problems have involved extensive textual descriptions of the requirements and method of implementation. Where tables have been employed for the specification, they have been either too imprecise for direct translation to computer data for controlling the feature program or they have specified an entire system rather than just the part of the switch providing the feature logic. There have not been any programs using the fully flexible, table-driven approach of the system of the present invention which directly connects the tabular description of a fixture with automatic implementation thereof. The prior art has relied heavily on textual description and fixed-code programs which have no flexibility, no provisions for change without revision of the source code, re-compilation, and re-installation. In addition, the fixed-code solutions of the prior art provide no reasonable provision for multiple variants of a specific feature.
From the foregoing, it can be seen that there exists a need for a software mechanism that provides for state controlled processes by a language which is independent of the computer code used to implement the various tasks associated with a transition from state to state. This new language utilizes tables which can be formulated directly from the tabular description of a feature and then compiled or stored. These tables can be easily modified to provide for new features without recompiling the program code or the tables themselves.